package com.sakiko.controller;

import com.sakiko.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

// 一般是前后端分离项目用
//@Controller
@RestController // ==> @Controller + @ResponseBody
@RequestMapping("json")
public class JsonController {
    /*
    返回给前端 Json数据:
        JSON -> java数据转化的 -> 所有的 Java数据都可以转换为 json
        java 对象 User id name --> json 对象 {"id": ,"name":}
        java 集合 <User> --> json 数组 [{id: ,name:}]
    返回 json步骤:
        1、准备工作 (导入 jackson依赖 <mvc:annotation-driven )
        2、方法的返回值就是 java的各种数据类型
        3、方法被 @ResponseBody修饰即可 java -> handlerAdapter -> json转化 -> json字符串 -> 响应体
     细节:
        @Target({ElementType.TYPE, ElementType.METHOD})
        @RestController: @Controller + @ResponseBody
     */

    // 需求 1: post /json/data {id:x,name } -> 找到数据 -> 存储到集合 -> 返回到前端
//    @ResponseBody
    @PostMapping("data")
    public List<User> data(@RequestBody User user) {
        ArrayList<User> list = new ArrayList<>();
        list.add(user);
        return list;
    }
}
